/*
 * @(#)Xfsp.java        2004/08/01
 *
 * This file is part of Xfuzzy 3.1, a design environment for fuzzy logic
 * based systems.
 *
 * (c) 2000 IMSE-CNM. The authors may be contacted by the email address:
 *                    xfuzzy-team@imse.cnm.es
 *
 * Xfuzzy is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License as published by
 * the Free Software Foundation.
 *
 * Xfuzzy is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * for more details.
 */

package xfuzzy.xfsp;

/**
 * <p> <b>Descripci�n:</b> Clase que representa a los eventos que son enviados
 * por las vistas o los modelos y que deben ser coordinados por los
 * controladores.
 * <p> <b>E-mail</b>: <ADDRESS>joragupra@us.es</ADDRRESS>
 * @author Jorge Agudo Praena
 * @version 1.2
 * @see XfspController
 * @see XfspModel
 * @see XfspStore
 * @see XfspView
 *
 */
public class XfspEvent {

  //indica el tipo de evento del que se trata
  private String type;

  //contiene los argumentos que debe transportar el evento
  private Object[] args;

  /**
   * <p> <b>Descripci�n:</b> crea un nuevo evento del tipo especificado que
   * transportar� los argumentos indicados.
   * @param type Tipo de evento que se quiere crear.
   * @param args Argumentos que debe transportar el evento.
   *
   */
  public XfspEvent(String type, Object[] args) {
    //registra el tipo del evento actual
    this.type = type;
    //almacena los argumentos que debe transportar
    this.args = args;
  }

  /**
   * <p> <b>Descripci�n:</b> indica el tipo del evento actual.
   * @return Cadena que representa el tipo de envento del que se trata.
   */
  public String getType() {
    //devuelve el tipo que ha registrado el evento cuando fue creado
    return type;
  }

  /**
   * <p> <b>Descripci�n:</b> permite obtener los argumentos que transporta el
   * evento.
   * @return Argumentos que transporta el evento actual.
   *
   */
  public Object[] getArgs() {
    //devuelve los argumentos transportados
    return args;
  }
}
